<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // function foo() {
        //     setTimeout(() => {
        //         console.log('id:', this.id);
        //     }, 2000);
        // }
        // foo();

        // function foo() {
        //     var _this = this;

        //     setTimeout(function() {
        //         console.log('id1:', _this);
        //     }, 100);
        // }
        // foo();

        // 我的理解相当于 第二个函数将第一个替换了
        function foo() {
            setTimeout(() => {
                console.log('id:', this.id);
            }, 2000);
        }

        function foo() {
            var _this = this;

            setTimeout(function() {
                console.log('id1:', _this);
            }, 100);
        }
        foo();
        foo();
    </script>
</body>

</html>